eXtremeDB Fatal Error Codes

The following table lists fatal error code bases that indicate bugs in the application code that render the eXtremeDB runtime unable to safely continue execution. In Java, C# and Python applications fatal errors will raise exceptions. In C and C++ applications, the ERR type return codes are passed to the runtime function mco_stop() to terminate execution. mco_stop()in turn calls the internal function mco_stop__() with the actual file name and line number in the source code where the error condition was detected. If a fatal error handler has been registered, a break point can be set there in the debugger and the filename and line number can be seen by examining the call stack to further aid in locating the source of the bug.

The error code base values identify the type of error. But the actual value of the return code will be composed of the base value for this type of error plus the source code line number in the runtime where the error was detected. For this reason the error code value cannot be searched by number. But the cause of the error can often be determined by recognizing its base, then lookup that base value in the table below.

For example, suppose your application terminates with error code 530040. Subtracting away the runtime source code line number (40 in this case) gives the error code base 530000. As can be seen in the table below, this base code indicates an invalid object handle. Very often this type of bug can be found by simply examining the call stack to see where in the application code the eXtremeDB API that trapped the error was called.

If the programming error is not obvious, please send the error code along with an explanation to McObject Technical Support.

Mnemonic Constant Name
Value
Meaning
MCO_ERR_DB
100000
Database head
MCO_ERR_DICT
110000
Dictionary
MCO_ERR_CURSOR
120000
Cursors
MCO_ERR_PMBUF
130000
Page manager (internal allocator) buffer
MCO_ERR_COMMON
140000
Common routines
MCO_ERR_HEAP
150000
Heap manager
MCO_ERR_OBJ
160000
Object allocator
MCO_ERR_BLOB
170000
Blob operation
MCO_ERR_FREC
180000
Record allocator
MCO_ERR_VOLUNTARY
190000
Voluntary index
MCO_ERR_LOADSAVE
200000
Db save and load
MCO_ERR_PGMEM
210000
Page memory
MCO_ERR_EV_SYN
220000
Synchronous events
MCO_ERR_EV_ASYN
230000
Asynchronous events
MCO_ERR_EV_W
240000
Event wrappers
MCO_ERR_XML_W
250000
XML serialization
MCO_ERR_XML_SC
260000
XML schema
MCO_ERR_BTREE
270000
Btree
MCO_ERR_HASH
280000
Hash
MCO_ERR_RECOV
290000
Recovery
MCO_ERR_INST
330000
Db instance
MCO_ERR_TRN
340000
Transaction
MCO_ERR_TMGR
370000
Trans. manager
MCO_ERR_SYNC
400000
General sync
MCO_ERR_ORDER
450000
Ordering and hash
MCO_ERR_SEM
460000
Semaphores
MCO_ERR_SHM
470000
Shared memory
MCO_ERR_SER
500000
Serialization
MCO_ERR_HA
510000
High Availability
MCO_ERR_DB_NOMEM
520000
Insufficient memory
MCO_ERR_OBJECT_HANDLE
530000
Invalid object handle
MCO_ERR_UNSUPPORTED_FLOAT
540000
Support of float and double types is disabled
MCO_ERR_UNSUPPORTED_DOUBLE
550000
Double unsupported. DEPRECATED
MCO_ERR_DB_NOMEM_HASH
560000
Insufficient memory in hash index
MCO_ERR_DB_NOMEM_HEAP
570000
Insufficient memory in heap manager
MCO_ERR_DB_NOMEM_TRANS
580000
Insufficient memory in transaction manager
MCO_ERR_DB_NAMELONG
590000
Database name is too long
MCO_ERR_DB_VERS_MISMATCH
600000
Version of eXtremeDB runtime mismatch. (Be sure to recompile the schema and link your application with the new generated .h and .c files when moving a schema from one installation of eXtremeDB to another distribution package.)
MCO_ERR_RUNTIME
610000
Invalid type of sync. library
MCO_ERR_INMEM_ONLY_RUNTIME
620000
There are persistent classes in the schema but runtime in-memory only
MCO_ERR_DISK
700000
General disk error
MCO_ERR_DISK_WRITE
710000
Unable to write to persistent storage
MCO_ERR_DISK_READ
720000
Unable to read from persistent storage
MCO_ERR_DISK_FLUSH
730000
Unable to commit file system buffers to disk
MCO_ERR_DISK_CLOSE
740000
Error closing persistent storage
MCO_ERR_DISK_TRUNCATE
750000
Unable to truncate persistent storage
MCO_ERR_DISK_SEEK
760000
Unable to seek in persistent storage
MCO_ERR_DISK_OPEN
770000
Unable to open persistent storage
MCO_ERR_DISK_ALREADY_OPENED
780000
Persistent storage already opened
MCO_ERR_DISK_NOT_OPENED
790000
Persistent storage has not been opened
MCO_ERR_DISK_INVALID_PARAM
800000
Invalid parameters value
MCO_ERR_DISK_PAGE_ACCESS
810000
Error reading a page from persistent media
MCO_ERR_DISK_INTERNAL_ERROR
820000
Internal fatal error
MCO_ERR_DISK_OPERATION_NOT_ALLOWED
830000
Operation not allowed fatal error
MCO_ERR_DISK_ALREADY_CONNECTED
840000
Persistent storage already connected
MCO_ERR_DISK_TOO_MANY_INDICES
850000
Too many indexes in persistent classes
MCO_ERR_DISK_TOO_MANY_CLASSES
860000
Too many persistent classes
MCO_ERR_DISK_SPACE_EXHAUSTED
870000
Persistent storage device out of space
MCO_ERR_DISK_PAGE_POOL_EXHAUSTED
880000
Too many pinned disk pages
MCO_ERR_DISK_INCOMPATIBLE_LOG_TYPE
890000
Incompatible database log type
MCO_ERR_DISK_BAD_PAGE_SIZE
900000
Page size is not acceptable
MCO_ERR_DISK_SYNC
910000
Failed operation on sync. primitive
MCO_ERR_DISK_CRC
920000
Wrong CRC code of disk page
MCO_ERR_DISK_FORMAT_MISMATCH
930000

Incompatible configuration changes affecting disk database format. All incompatible changes of configuration which affect format of the database on the disk:

  • CRC checking mode
  • maximal size of classes
  • incompatible transaction manager

See also MCO_ERR_DISK_BAD_PAGE_SIZE (reported when in-memory or disk page size were changed)

MCO_ERR_CHECKPIN
940000
Unbalanced pin / unpin
MCO_ERR_CONN
950000
Connection processing
MCO_ERR_REGISTRY
960000
Registry processing
MCO_ERR_INDEX
970000
Index processing
MCO_ERR_VTMEM
980000
In-memory only runtime
MCO_ERR_VTDSK
990000
mixed runtime
MCO_ERR_RTREE
1000000
rtree index
MCO_ERR_UDA
1010000
Uniform Data Access
MCO_ERR_PTREE
1020000
Patricia trie index
MCO_ERR_TL
1030000
Transaction log
MCO_ERR_CLUSTER
1040000
Cluster
MCO_ERR_CLNWTCP
1050000
Cluster TCP transport
MCO_ERR_SEQ
1060000
Sequence errors
MCO_ERR_NESTED_TRANS_TRAP
1090000
Attempt to start nested transaction detected
MCO_ERR_PERFMON
1100000
Performance monitoring
MCO_ERR_AIO
1110000
Asynchronous IO
MCO_ERR_CLNWMPI
1120000
Cluster MPI transport
MCO_ERR_DDL
1130000
DDL errors
MCO_ERR_SQL_EXCEPTION
1140000
SQL exception
MCO_ERR_BACKUP
1150000
BACKUP exception
MCO_ERR_ACTIVE_TRANSACTION
1160000
Attempt to disconnect an active transaction
Invalid return codes
1170000-1999998
Values between 1170000 and 1999998 are not valid eXtremeDB return codes
MCO_ERR_LAST
1999999
Marker for the last possible error code

Related Topics Link IconRelated Topics